package com.ioc.business.order.service;

import com.ioc.business.order.domain.DeliveryOrder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ioc.business.order.domain.DeliveryOrder;
import com.ioc.business.order.domain.bo.delivery.DeliveryOrderBo;
import com.ioc.business.order.domain.bo.delivery.DeliveryOrderQueryBo;
import com.ioc.business.order.vo.delivery.DeliveryOrderImportVo;
import com.ioc.business.order.vo.delivery.DeliveryOrderPageVo;
import com.ioc.business.order.vo.delivery.DeliveryOrderVo;
import com.ioc.common.core.page.TableVo;

import java.util.List;

/**
 * <p>
 * 发货订单表 服务类
 * </p>
 *
 * @author WeiZhongRong
 * @since 2025-01-07
 */
public interface IDeliveryOrderService extends IService<DeliveryOrder> {
    /**
     * 分页查询发货订单列表
     *
     * @param queryBo
     * @return
     */
    TableVo<DeliveryOrder, DeliveryOrderPageVo> selectDeliveryOrderPageList(DeliveryOrderQueryBo queryBo);


    /**
     * 查询发货订单详情信息
     *
     * @param deliveryOrderId
     * @return
     */

    DeliveryOrderVo selectDeliveryOrderById(Long deliveryOrderId);
    /**
     * 新增发货订单
     *
     * @param bo
     * @return
     */
    boolean addDeliveryOrder(DeliveryOrderBo bo);

    /**
     * 编辑发货订单
     *
     * @param bo
     * @return
     */
    boolean updateDeliveryOrder(DeliveryOrderBo bo);

    /**
     * 删除发货订单
     *
     * @param idList
     * @return
     */
    boolean removeDeliveryOrder(List<Long> idList);

    /**
     * 导入发货订单数据
     * @param voList
     */
    void importDeliveryOrder(List<DeliveryOrderImportVo> voList);
}
